System and method developing mapping and directions from call id

ABSTRACT

A system is disclosed for generating instructions enabling navigation between an origin and a location identified by an address corresponding to data in an incoming communication, such as a customer name or customer telephone number. The system comprises a conventional caller identification unit that reads information transmitted in conjunction with an incoming customer telephone call. A main processor engine receives this information and searches a database for a match between the information and the customer&#39;s address. Once the customer&#39;s address is successfully located and retrieved by the main processor engine, the address is communicated to a mapping engine. The mapping or other direction-generating engine searches a database for data associated with the address that may be used by the mapping or other direction-generating engine to generate or directions a map between a predetermined point of origin and the address. Once the map is generated, it can then be displayed on a computer screen and/or printed.

FIELD OF THE INVENTION

[0001] The present invention relates generally to navigation devices andmethods and more particularly to a device and method for generatingnavigation instructions based on electronically retrieved input data.

BACKGROUND OF THE INVENTION

[0002] Many service businesses, such as delivering restaurants,furniture stores, mail order establishments and others, base a highpercentage of their sales upon delivery of their services or products tothe homes or workplaces of their customers. In most such cases, acustomer will telephone the business and place an order for the serviceor product to be delivered. While this retail practice is highlyconvenient for the customer, the delivery of the service or product cancreate numerous inefficiencies that reduce the overall profit to thedelivering business.

[0003] One such inefficiency arises during the telephonic orderingprocess. Typically, the customer must orally provide an employee of thebusiness with the customer's address. This can result in amiscommunication between the customer and the employee resulting in thebusiness recording an inaccurate address and delay in the delivery ofthe product or service. If instructions for finding the customer'slocation are given, this is another opportunity for miscommunication.Assuming the address of the customer is correctly recorded by theemployee, the business must often locate the address on a map beforedispatching a driver to the address. As can readily be imagined, thisproblem is particularly acute in large metropolitan areas. Even if theaddress is successfully located, many delivery drivers struggle withfinding the most time- and/or cost-efficient route to the customer'saddress, if the driver is successful in reaching the customer's addressat all.

[0004] The reverse situation arises when a customer calls anestablishment that he or she plans to visit for the first time. Thecustomer calling a restaurant for reservations or a store to inquireabout availability of a product often could use reliable and detailedinstructions for getting to the restaurant or store.

[0005] In other situations, businesses could benefit from improvednavigation directions. A business having a central telephone facilityfor taking orders, for example by use of a toll-free number, may havenumerous geographically widespread outlets from which deliveries aremade. It would be desirable for the one central location receiving acustomer's call to be able to, first, locate the outlet nearest thecustomer and, second, send to that outlet detailed directions from theoutlet's location to the point of delivery.

[0006] Routing can be particularly difficult when numerous deliveriesare to be made in a single trip. In that case, directions should includethe most efficient ordering of delivery stops as well as detailedinstructions from one stop to the next. Parcel, furniture and appliancedeliveries are examples of deliveries in which a truck with numerousarticles makes many stops throughout a day. These businesses wouldbenefit from detailed point-to-point directions enabling routing ofmultiple stops during the course of one trip and back to the beginningpoint.

[0007] Certain information is, in fact, available to the telephone user.If not blocked by the caller, the caller ID service provided bytelephone service providers can give the business call recipient thename and phone number of the caller. Also, dedicated telephone lines canbe brought into a business for automatic number identification or “ANI.”In no instance, however, is the recipient of a call afforded theinformation necessary to route a delivery. Also, navigational systemsavailable for automobiles can give detailed directions from theautomobile's location to a particular address. However, the address towhich directions are needed must be input to the system, and thelocation to which navigational instructions are to be generated are notinstructions to the location of a telephone caller.

[0008] Software and internet services for locating an individual'saddress as well as other information are available. These, however, donot respond automatically to an incoming or outgoing telephone call, nordo they generate navigational information such as detailed directions ormaps that assist the user in navigating.

[0009] Map generating software is known. A computer user can inputpoints A and B to have a map generated from the one point to the other.Again, the generation of the map is not the function of an incomingphone call, but must have its starting and ending points known to andintroduced by the user.

[0010] Emergency services, called sometimes enhanced 911, may develop aset of instructions from a particular emergency service station to acaller using name and address supplied by the telephone service providerin the manner of caller ID. The enhanced 911 service is not located atthe particular emergency service station. It forwards the detaileddirections to the appropriate station, such as ambulance, fire or policelocation rather than automatically generating a set of instructionsbased upon the point of location of the incoming call and the point oflocation of the caller.

[0011] In addition to the day-to-day importance to a delivery businessof rapid directions generation, these businesses would benefit from ademographics component that allowed analysis of the orders received bytelephone. For example, a clustering of orders in one locale coupledwith relatively few orders received from another locale could serve asthe basis for increased advertising in the region generating fewercalls. Likewise, it would be useful to be able to analyze the types ofproducts ordered in one location as opposed to another, or the dollaramount of orders as it varies from one region to another. Retrieval of aprofile of the calling party is useful as well as a history of theparty's previous orders or transactions.

[0012] Accordingly, a need exists for an improved system for generatingaccurate instructions that enable optimally efficient navigation to orfrom a business and that permits use of the information gathered forother business purposes.

SUMMARY OF THE INVENTION

[0013] In accordance with the present invention, a system and method isdisclosed for generating instructions based upon an incomingcommunication enabling navigation between an origin of the communicationand a location or business receiving it.

[0014] In a preferred embodiment of the invention, the system comprisesa conventional caller identification unit that reads informationtransmitted in conjunction with an incoming customer telephone call. Amain processor engine receives this information and searches at leastone database for a match between the information and the customer'saddress. Once the customer's address is successfully located andretrieved by the main processor engine, the address is communicated to amapping engine or other software capable of generating such navigationalinformation as textual directions to the caller's location. The mappingengine searches a mapping database for data associated with the addressthat may be used by the mapping engine to generate a map between apredetermined point of origin and the address. Once the map isgenerated, it can then be displayed on a computer screen and/or printedon paper. Textual directions are similarly generated.

[0015] Preferably, in plotting a map and/or other detailed directions,the mapping or directions generating engine uses as a point of origin,the location of the installation receiving the incoming call. The map ordirections generation may proceed directly from the caller ID or ANIinformation received with the incoming call by use of a software routinethat queries a “white pages” type of database to find an address basedupon the caller's name or telephone number as identified by the callerID feature or by ANI. Preferably, however, the system searches first adatabase of customers compiled at the site of the incoming call, adelivery business for example. A current address there is used as adestination in map generation. If no current address information isfound in the customer database, then the white pages software isresorted to for the generation of a map and/or instructions.

[0016] In one embodiment of the invention, a caller's address issupplied in the caller ID information from the telephone serviceprovider. The systems and method of the invention automatically adoptthat information, along with the address of the point of receipt of theincoming call, to generate the map and/or instructions.

[0017] In another embodiment, the software of the system chooses abranch or outlet nearest the call-in customer for delivery of an order.(The map or directions routing information is supplied to thatparticular branch or outlet.)

[0018] A further embodiment of this invention, which can be combinedwith the above-described features, uses reverse telephone directory datato locate the address of an establishment being called by an individual.The system then plots a map to the called location and/or generatesdetailed directions.

[0019] In addition to locating a caller and generating directions tofacilitate delivery, an additional feature of the invention includesrecord keeping to provide a business with easy access to a history ofsales. Additional features can include demographic analysis determiningthe locale where most purchase calls are generated, the particular itemssold most in particular geographical regions, the dollar amount of salesto particular regions on a per call basis, and other businessinformation useful for analytical and business planning purposes.Similarly, a history of previous transactions, time of day or day of theweek, for previous transactions as well as customer profile informationcan be brought up and displayed either automatically or upon request ofthe business establishment.

[0020] Where the nature of the business is such that repeat orders arethe norm, customer preferences can be brought up and displayed for theuse of the operator who takes the order over the telephone. Inbusiness-to-business transactions involving product specifications ormodel numbers typically needed on an ongoing basis by a particularcustomer, this capability can greatly expedite the ordering process. Thecustomer information and demographic information available in this waycan give the small business many of the research and informationgathering abilities previously available only to much larger and bettercapitalized enterprises. In an alternative arrangement, the installationand software that retrieves information such as mapping, directions,customer profile or customer history can be located at a site remotefrom both the calling and the called telephone. The informationretrieval can be centralized in a business with numerous outlets, or theretrieval and delivery of such information can be supplied as a serviceby a third party such as a telephone service provider.

[0021] In still another alternative, a third party such as the telephoneservice provider retrieves information about a telephone subscriberwhose telephone is involved in a call in progress and forwards that toeither the calling or the called telephone situs which then uses theforwarded information to retrieve from a database there the completeinformation desired. An example is a retrieval by the telephone serviceprovider of the latitude and longitude of the site of one of the callerand the call recipient, which latitude and longitude is then supplied toone of the call participants whose computer system uses the coordinatesto generate a map and or directions.

[0022] Where neither caller ID, which may be blocked, nor the customerdatabase turns up an address for a particular caller, a routine of theprogram implementing this system chooses an interview screen for displayfor the call answering operator. This then is completed based onquestions put to the caller, the information is logged into the customerdatabase and directions are generated for use in delivery.

[0023] The above and further features of the invention will better beunderstood from the following detailed description of a preferredembodiment when taken in consideration with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0024]FIG. 1 is a block diagram of a computer installation suitable torespond to a telephone call in accordance with the present invention.

[0025]FIG. 2 is a flow chart of a computer program routine effecting theoperation of the computer installation of FIG. 1 in accordance with thepresent invention.

[0026]FIG. 2a is a flow chart of alternate steps in a program like thatof FIG. 2.

[0027]FIG. 2b is a flow chart of further alternate steps in a programlike that of FIG. 2.

[0028]FIG. 3 is a flow chart of a computer program routine effecting theoperation of the computer installation of FIG. 1 in accordance with afurther embodiment of the present invention.

[0029]FIG. 4 is a block diagram of a navigation instruction generatingsystem and programming according to principles of the present invention.

[0030]FIG. 5 is a flow chart describing steps performed according toprinciples of a further embodiment of the present invention in the eventof an incoming telephone call.

[0031]FIG. 6 is a flow chart describing further steps performedaccording to principles of the embodiment of FIG. 5 in the event of anoutgoing call.

[0032]FIG. 7 is a flow chart describing further steps performedaccording to principles of the embodiment of FIG. 5 in the event ofeither an incoming or an outgoing telephone call.

[0033]FIG. 8 is a screen showing a data entry field displayed by theterminals used according to principles of the present invention.

[0034]FIG. 9 is a flow chart showing steps performed according toprinciples of an alternative embodiment of the present invention in theevent of either an incoming or an outgoing telephone call.

[0035]FIG. 10 is an exemplary display screen displaying a map andinstructions generated in accordance with the invention.

[0036]FIG. 11 is an exemplary screen that includes caller profileinformation.

[0037]FIG. 12 is another exemplary screen that shows routing of amultiple stop delivery route.

[0038]FIG. 13 is an exemplary screen that shows presentation of datagraphically.

[0039]FIG. 14 is an additional exemplary screen that shows a window bywhich prior calls are sorted on the basis of phone number prefix.

[0040]FIG. 15 is an exemplary screen that shows a window for use inaddressing a pager.

[0041]FIG. 16 is still another exemplary screen showing the preparationof a seven-day history of calls.

DESCRIPTION OF THE PREFERRED EMBODIMENT

[0042] In FIG. 1, a computer installation 20 includes a computer 22incorporating a CPU, read-only memory and random access memory. Thecomputer 22 communicates in typical fashion with a display 24 and aprinter 25. A keyboard 27 and a mouse 28 are parts of the computerinstallation 20, as is a serial device with memory 29, such as a modemor serial box. The computer installation 20 is connected via the serialdevice 29 to a telephone system 32 giving access to the computerinstallation 20 from a caller's phone 33. Among the programs and datacontained in memory in the computer 22 are a telephone directory such asa “white pages” directory that is commercially available. Alternatively,the “white pages” telephone directory information may be available via afurther phone line (not shown) connecting the computer 22 to theworldwide web. Also in memory in the computer 22 is a user-developedaddress book of addresses and telephone numbers of previous callers,customers, prospects, or the like. In addition, computer 22 has loadedinto memory a map generation software package such as that provided byDe Lorme under the name “Cyber-router.” Alternatively, again theinstallation may be in communication with the worldwide web to accessmap generation available, for example, from “Map Quest.com, Inc.” atwww.MapQuest.com.

[0043] Turning to FIG. 2, at block 35, a program routine shown therecauses the computer 22 to poll the serial device 29 on a regular basisto detect an incoming call. As indicated at 37 and 38, upon detection ofa call, the information communicated by the telephone system 32 isqueried for caller ID information. This is accomplished by the computer22 determining from the memory of serial device 29 the presence orabsence of caller ID information communicated with each incomingtelephone call signal received by the serial device 29.

[0044] As illustrated in FIG. 1, in a preferred embodiment, the serialdevice 29 consists of the internal modem of computer 22. Only when callsare placed from extensions unconnected with the computer 22 is anexternal modem or other serial device necessary. Where telephone andinternet services are available by a cable installation, a cable modemor modems for the computer will serve as the serial device 29 and anyinternet link desired.

[0045] In the embodiment shown in FIG. 2, if a caller ID communicationis present in a telephone call, as indicated at block 40 of FIG. 2, theprogram causes the computer 22 to search for an address associated withthe caller ID information in the user's address book or in the whitepages loaded into the computer memory or available from the worldwideweb via the internet. On the other hand, if no caller ID information isdetected in a call, as indicated at 39, an interview screen field 301 ofa screen 300 (FIG. 8) is brought up on the display 24 permitting anoperator at the computer installation 20 to interview the caller so asto determine the caller's name and telephone number. The operator entersthis information via the keyboard 27. The program then reverts to block40 to search the white pages for an address. Alternatively, at block 39the interview field 301 can cause the operator to inquire as to thecaller's address and enter that, whereupon the address information isinput to the main program subsequent to block 40 as indicated by thebroken lines in FIG. 2.

[0046] In the event that caller ID or similar information such asautomatic number identification (ANI) affords address information, thenthis can be input directly as a destination for navigation instructiongeneration.

[0047] If it is determined at block 42 that an address has been found inthe white pages, then that address is input to the mapping program ofthe computer installation 20 or via the internet. If no address is foundin the white pages, then once again an interview screen 300 is broughtup on display 24 for the operator at the computer facility to input anaddress using the keyboard 27 in cooperation with the display 24. Thisis indicated at block 43. The address determined in this fashion is theninput to the mapping software at 44 and a map is generated at 46, at theprinter 25, at the display 24, or at both. The information entered bythe operator at block 39 or 32 is used to update the user's addressbook.

[0048] As shown in FIG. 2a, in a preferred variation of the routines ofFIG. 2, if at 38 a caller ID has been found, or if at block 39 acaller's name or number has been input by the local operator of thesystem 20, the address search is first conducted at 40 a in the user'saddress book. Again, this is the address book of recent purchasers,prospects, or other current address information compiled by theproprietor of the computer installation from its own records, priorexperience, or the like. If an address is found there, the decision isat block 42 to proceed as previously to block 44 inputting both thecomputer installation's address and the uncovered caller address to themapping facility. However, if no address is found in the address book,the decision block 42 initiates a search in the white pages contained inmemory in the computer installation or via the internet at 40 b. If anaddress is then found, again, the decision is made at 42 b to proceed tothe mapping facility at block 44. However, if no address is found in thewhite pages, the interview screen is brought up for the local operatorto complete and in that way the necessary address information is inputand the program continues as previously.

[0049] As shown in FIG. 2(b), in a further variation of the routines ofFIG. 2, when there are multiple possible points of origin, such asmultiple stores or outlets of the same business establishment, and thecomputer system 20 is a central installation, accessed by a toll freenumber perhaps, then once the caller's address is found at 42 or input,at 43, the closest store or outlet can be determined, at 45. That storeor outlet is input, at 44(a), as the point of origin and the calleraddress is input as the destination. The map is then generated at 46 andoutput, by a fax or email to the selected store or outlet.

[0050] In FIG. 3 is shown an alternative programming arrangement used toprovide a caller with a map or directions to the facility to which atelephone call is placed. Here the computer installation 20 of FIG. 1detects the number called at block 50. At block 51, the locallyassembled database of customers and/or the reverse white pages stored inmemory are searched to determine an address associated with thetelephone number that has just been called. If an address is found, thenthe address is input to the mapping facility at 54 and a map isgenerated at 56. If an address is not found as determined at thedecision block 52, then the interview screen is brought up to thedisplay 24, at block 53, permitting the caller to complete thenavigation map at 54.

[0051] In the event that the system 20 is used for multistop routing,then each caller location is input both as a destination and as a pointof origin until a route is completed. As in commercial mapping software,the routing may be effected with stops being in the order received or inthe most efficient sequence.

[0052] In FIG. 4, a navigational instruction generating system 110includes hardware and software components. The system software includesa main processor engine 120, as formed, typically, by a microprocessor,associated memory and programming. The main processor engine 120operates in conjunction with a conventional caller identificationprocessor 130, a customer information database 140 and a mapping engine150 that manipulates mapping data stored in a mapping database 190.System 110 preferably also incorporates several modular electroniccommunication software installations, among which are a paging engine160, a faxing engine 170, and a white pages interface 180. White pagesinterface 180 enables main engine 120 to access a white pages database185 that contains name, address and telephone number information for apredefined locale.

[0053] System 110 further incorporates user interface software 100.Software 100 enables manual manipulation of data to be entered into orpresently stored within system 110 by means of a conventional computerkeyboard 115 or mouse 116. Software 100 further allows such manipulationto be monitored by means of a conventional computer terminal screen 145on a display 124.

[0054] Caller ID processor 130 receives data from at least oneconventional phone line 125. Preferably, processor 130 is configured tosimultaneously receive data from multiple phone lines, thereby enablingthe map generation process, more fully described hereinafter, to beperformed for multiple telephone calls contemporaneously placed from orreceived by a business.

[0055] Information present in customer database 140 may be updatedand/or supplemented by point of sale software 135, such as thatassociated with electronic cash registers and known in the art. Thissoftware provides functions ordinarily associated with retail sales.

[0056] Maps 320 (FIG. 11) generated by system 110 are output to displaymedia, such as a screen 145 on the display 124 or a conventional printer155. Information from system 110 may also be output to a conventionalhandheld personal computer 165 (such as a PalmPilot), a conventionaltelephone line/modem 175 or a GPS (global positioning system) receiver185.

[0057] The system 110 integrates the features of the flowcharts shown inFIGS. 2, 2a and 3. The automatic steps taken by system 110 can best beunderstood with reference to FIGS. 5, 6 and 7. Referring specifically toFIGS. 5 and 7, shown are flowcharts illustrating the steps taken in theevent a customer's order takes the form of an incoming call to thebusiness employing the system 110. Processor 130 (FIG. 4) reads thecaller identification information, at 201. This information includesname and/or phone number of the customer placing the incoming call. Inthe case of enhanced caller ID, it may contain address information aswell. This caller information is in turn relayed to main engine 120,block 202.

[0058] Referring to FIG. 7, the main engine 120 of FIG. 4 searches anaddress book, in this case a customer database 140, for an address thatmay be paired with the name and/or telephone number information receivedfrom caller ID processor 130, at 203. If an address corresponding to thecaller information is found in database 140, the address is then sent bymain engine 120 to mapping engine 150, at 204.

[0059] Here again, the combined function of mapping engine 150 andmapping database 190 is substantially similar to that associated withconventional commercially available mapping software. Accordingly,mapping engine 150 searches mapping database 190 for mapping informationassociated with the address. Based on this mapping information andmapping information associated with a selectable predetermined origin ofdelivery, such as the location of the system, at 205 the mapping engine150 generates a map that will, as in the embodiments of FIGS. 1, 2 and 2a, provide graphical and/or written instructions, useful for example toa delivery driver, on how to travel from the origin to the address.Preferably, variables that allow computation of a subjectively idealroute (i.e., shortest, fastest, etc.) from origin to address may bemanually input to the system 110. Alternatively, an ideal route canautomatically be determined by a map engine as provided in commerciallyavailable mapping software. Likewise, points of interest such asbenchmarks, motels, ATMs, gas stations and truck stops can be made apart of the map information or may be part of a commercially availablemapping software. Main engine 120 then outputs the map 320 (FIG. 11)produced and/or directions 325 (FIG. 10) by engine 150 to one or more ofscreen 145, printer 155 or phone line 175, block 206. Like commerciallyavailable mapping functions, the mapping feature provides several levelsof “zoom” giving greater detail and smaller scale.

[0060] As shown in FIG. 5, if caller identification information isblocked by the ordering customer, at 207 user interface 100 provides tocomputer display 124 the caller information input or interview field 301of the screen 300, as shown in FIG. 8. Input field 301 (or an entirescreen dedicated to this purpose) enables an operator to input callerinformation such as telephone number, name, and address, directly intosystem 110 via keyboard 115. Once such information has been entered intoinput field 301, block 208, main engine 120 retrieves this informationand uses the information to search customer database 140, at 203 of FIG.7, and the map generation process continues as described above and asshown in FIG. 7.

[0061] Referring again to FIG. 7, if main engine 120 is unsuccessful inlocating a matching address in customer database 140, at block 209, mainengine 120 checks to see if address information has been entered intocall input field 301. If an address has been so entered, main engine 120sends this address information to mapping engine 150, block 204, and themap generation process continues as described above and as shown in FIG.7.

[0062] If no such address information has been entered into theinterview field 301, main engine 120 accesses white pages database 185via white pages interface 180 in an attempt to locate an addresscorresponding to the available name or telephone number information,block 210. If corresponding address information is successfully locatedin white pages database 185, such address information is routed tomapping engine 150, block 204, and the map generation process continuesas described above and as shown in FIG. 7.

[0063] If at 210, no such matching address is found in white pagesdatabase 185, user interface 100 displays the interview field 301, block207 of FIG. 5, and an address must be manually entered at 208. Once theaddress is manually entered, at 208 of FIG. 5, customer database 140 isupdated with the new customer information. Main engine 120 may thenretrieve this updated address information from customer database 140,block 203, or may directly send the address to mapping engine 150, at204, whereupon the map generation process continues as described aboveand as shown in FIG. 7.

[0064] Referring now to FIGS. 6 and 7, shown are flowcharts illustratingthe steps taken in the event an employee of a business employing system110 places an outgoing call to a customer or other call recipient. At221, the multi-line serial device unit 130 records the outgoing numbersbeing dialed. As with the system of FIG. 1, the software of this systempolls the multi-line unit 130 and the numbers dialed are transferred at222 to the main engine 120.

[0065] Referring to FIG. 7, main engine 120 searches the customerdatabase 140 for an address that may be paired with the outgoing dialednumber. If an address corresponding to the information is found in thedatabase 140, the address is then sent by the main engine 120 to themapping engine 150, block 204.

[0066] The combined function of mapping engine 150 and mapping database190 is substantially similar to that associated with conventionalmapping software known in the art, such as that employed by theMapQuest® World Wide Web service. Accordingly, mapping engine 150searches mapping database 190 for mapping information associated withthe address. Based on this mapping information and mapping informationassociated with a selectable predetermined origin of delivery, mappingengine 150 generates a map that will provide graphical and/or writteninstructions to a delivery driver on how to travel from the origin tothe address, block 205. Preferably, variables that allow computation ofa subjectively ideal route (i.e., shortest, fastest, etc.) from originto address have been manually input to system 110 or are available inthe software used. Main engine 120 then outputs the map produced byengine 150 to one or more of display 124, printer 155 or phone line 175,block 216. Phone line 175 can be used to provide the information to aremote site such as a delivery starting point, warehouse orgeographically selected retail outlet.

[0067] The screen 340 used for multistop routing is shown in FIG. 12.From the field 342 that identifies the calls received, the deliverystops to be made are highlighted and with a click of the mouse aretransferred to the field 343 to build the delivery route that is thenautomatically mapped in the field 345. Routing can be effected either inthe order of calls entered or in the most efficient order.

[0068] Referring to FIG. 7, if the main engine 120 is unsuccessful inlocating a matching address in the customer database 140, main engine120 checks to see if address information has been entered by the callerinto the call input field 301, block 209. If an address has been soentered, the main engine 120 sends this address information to themapping engine 150, block 204, and the map generation process continuesas described above and as shown in FIG. 7.

[0069] If no such address information has been entered into theinterview field 301, the main engine 120 accesses the white pagesdatabase 185 via the white pages interface 180 in an attempt to locatean address corresponding to the available name or telephone numberinformation, at 210. If corresponding address information issuccessfully located in the white pages database 185, such addressinformation is routed to the mapping engine 150, at 204, and the mapgeneration process continues as described above and as shown in FIG. 7.

[0070] If no such matching address is found in the white pages database185, the user interface 100 places input field 301 upon the screen 111,block 223, and an address must be manually entered. Once the address ismanually entered, block 224, the customer database 140 is updated withthe new customer information. Main engine 120 may then retrieve thisupdated address information from customer database 140, block 203, ormay directly send the address to mapping engine 150, block 204,whereupon the map generation process continues as described above and asshown in FIG. 7.

[0071] In an alternative embodiment, as shown in FIG. 9, addressinformation associated with an incoming call from or an outgoing call toa customer may be provided by the telephone company to or otherwisereceived by the processor 130, at 225. The address information mayfurther include the name of the calling customer. The processor 130downloads the address information directly to modem/phone line 175,handheld PC 165 and/or GPS receiver 185, block 226. Alternatively, themain engine 120 receives such address information from the processor 130and delivers such address information directly to modem/phone line 175,handheld PC 165 and/or GPS receiver 185. In this embodiment, therefore,the mapping function may be performed offsite and external to system110, block 227. Where the information retrieval of the system 110 isprovided as a service remote from either the caller or call recipient,then telephone line 175 is used to deliver the retrieved information toone of the caller and call recipient.

[0072] The main engine will retrieve incoming calls and search for thecaller's address and display geographical maps and the caller's callhistory information instantly, before an operator picks up the phone.When caller ID is unavailable or blocked, manual entering of phonenumbers, addresses, and other fields will also perform the samefunctions.

[0073] Additionally, customer locations can be displayed on digital mapsto show where services are coming from geographically. Thousands ofpoints can be placed on a digital map to help marketing, data analyzingor research to assist businesses in understanding their market area.Each function of system 110 may have a set of standard reports that maybe run on demand. Mailers, coupons, customizable form letters, andenvelopes can be generated from caller databases. Caller data could alsobe exported into customizable reports and into any format (Microsoft®Excel, Microsoft® Word, etc.). Screen 360 of FIG. 15 shows window 365for entry of a phone prefix on the basis of which a sort is made showingcalls made with that prefix.

[0074] Further, when modules such as GPS receiver 185 are used inconjunction with system 110, GPS hardware at the business and in thedriver's vehicle enables driver monitoring via satellite technology suchthat system 110 enables displaying the driver's location in real time onan electronic map. In other words, geographic location retrieved asabove can be input to a GPS receiver 185 to provide GPS mapping andinstructions typical of automobile navigational systems presentlycommercially available. When paging engine 160 is incorporated by system110, customized commands can be set up to page or take messages when thebusiness is busy. Screen 370 of FIG. 15 shows window 375 to receive apager number and message to be sent. Callers can leave a message, pagesomeone, send e-mail or request a call back from the business. Such afunction will also allow blocking of calls. Audible messages may also beemployed to alert the employee as to the identity of the caller. Driversmay also be paged with messages while en route.

[0075] The functionalities so far described are capable of integrationinto a commercial telephone software and hardware package. Wheredelivery is the primary or a major part of a business's day-to-dayactivity, this is desirable. The programming described above and thefurther features discussed below can be achieved using a tool such asDelphi 4 or Delphi 5 available from Inprise Corp., Scotts Valley, Calif.

[0076] In addition to the map and directions functions described, anintegrated system logs each incoming and each outgoing call for thebusiness's records. Logs may show the history of incoming calls and alsowhich employee made outgoing calls and at what time. These types of logsenable the business to budget and manage monthly phone bill expenses.When faxing engine 170 is incorporated by system 110, incoming andoutgoing faxes can be recorded and saved digitally. Search functionsallow employees to quickly and easily recall stored faxes.

[0077] With each of the embodiments discussed above with respect to thehandling of incoming calls, an operator will take an order after themapping and directions have been generated. Point of sale softwareordinarily employed in retail can be associated with this system. Inaddition to the map and directions, caller profile information 335relating to the caller may be made available as indicated at displayscreen 350 (FIG. 11). Such caller profile information availablecommercially, such as for example “infoUSA” from infoUSA, Inc., Omaha,Nebr. (www.infoUSA.com), includes income, gender, length of time atresidence, home value, credit card type, credit card credit available,marital status, mortgage information, ethnicity, expendable income, networth, automobile price class, number of automobiles owned and otherinformation. From records made during previous calls, credit card numberand other relevant information is made available to the operator takingthe call. Other information that may be stored for use at this time bythe operator or at another time for other purposes includes emailaddress, pager number, preferences, and a history of past purchases.Specifically targeted marketing is made possible with availableinformation.

[0078] Geographical information generated and stored has further uses aswell. A business is able to identify those locales where most sales haveoccurred in the past. This enables changes in marketing to improve salesperformance in other locales. Where a business has multiple sites fromwhich deliveries are made, incoming calls are assigned to one such sitebased, for example, on proximity. Delivery instructions areautomatically routed to the appropriate site. If a business limits itsdeliveries to a geographical area, or charges a higher fee fordeliveries outside of that area, this can be shown to the operatortaking the call. Information provided to the user can be supplied intextual format or graphically by use of the graphing function availablethrough the main engine 120 and as shown in FIG. 13.

[0079] Where large PBX switches or other multi-line installations areemployed, phone line status can be shown on a real time basis and phonelogs can be displayed in real time for review by managers (or parents inthe home computer setting.) Other computer functions such as sorting,creating of customized reports, database editing, and Rolodex typesearches are readily available. Such sorting as by “all calls,” time ofday, day of the week, last thirty days, area code, prefix, delivery areaand zip code is enabled in the present embodiment. Screen 380 of FIG. 16shows the “7.0” button 385 depressed to generate in the field 389 areport of calls over the past seven days. Tabs “Incoming” and “Outgoing”allow selection of calls received or calls placed in that period. The“line station” permits viewing, in real time, the current status of thelines of a multiline system. As presently structured, the software ofthis system allows both TAPI and hardware compatibility, enabling usewith standard telephone protocol (TAPI), serial port and multi-lineunits, large PBX switches and other hardware. The system allowscustomization. Delivery areas, as mentioned above, can be defined.Points of interest can be noted on maps (such as gas stations, truckstops, ATM machines, motels and the like).

[0080] Although the invention has been described in terms of theillustrative embodiments, it will be appreciated by those skilled in theart that various changes and modifications may be made without departingfrom the spirit or scope of the invention as set forth in the appendedclaims. For example, while the preferred embodiments described abovespeak in terms of conventionally caller ID, it will be appreciated thatthe invention can be implemented to function with automatic numberidentification (ANI).

What is claimed is:
 1. A system for generating travel directions from alocation receiving a telephone call to the location of the telephonecaller comprising: (a) a computer installation including: (i) means forreceiving a telephone call, (ii) means programming the computerinstallation for detecting caller identification informationelectronically associated with a received telephone call, (iii)navigation software, (iv) means programming the computer forautomatically communicating point of origin information corresponding tothe location of the computer installation, for use by the navigationsoftware programming the computer, (v) means programming the computerfor automatically communicating destination information corresponding tothe location of the telephone caller as derived from calleridentification information electronically associated with a telephonecall from the caller; and (vi) means programming the computer forcommunicating navigation information for navigating from the locationreceiving the caller's call to the location of the telephone caller asdeveloped by the navigation software.
 2. The system of claim 1, whereinthe means programming the computer for automatically communicatingdestination information corresponding to the location of the computerinstallation comprises means responsive to address informationelectronically present in the caller identification information tosupply the address information for use by the navigation software. 3.The system of claim 1, wherein the means programming the computer forautomatically communicating destination information corresponding to thelocation of the computer installation comprises a database of addressinformation and means for locating the address of the telephone callerin response to detected caller identification information associatedwith a received telephone call.
 4. The system of claim 3, wherein thedatabase of address information comprises a locally assembled addressbook database.
 5. The system of claim 3, wherein the database of addressinformation comprises a telephone directory database.
 6. The system ofclaim 1, further comprising a program routine responsive to the presenceof caller identification information electronically associated with areceived telephone call to look for a caller's address in an associateddatabase, and if present, to cause retrieval of the caller's addressinformation from the associated database for use by the navigationsoftware, and to display an interview screen if a caller's address isnot present in the associated database.
 7. The system of claim 1,wherein the navigation software comprises mapping software responsive topoint of origin information and destination information to generate amap from a point of origin represented by the point of origininformation to a destination represented by the destination information.8. A system for generating navigation information automatically withrespect to a location to which a telephone call is placed, as adestination, comprising: (a) a computer installation connected toreceive a telephone number of a call being placed from the computerinstallation, (b) a database of address information associated withtelephone numbers, (c) the computer installation including navigationsoftware for generating navigation information from a point of origin toa destination, (d) the computer installation being programmed to: (i)retrieve address information associated with a telephone number of atelephone to which a call is placed, (ii) provide the retrieved addressinformation as a destination to the navigation program, (iii) provide apoint of departure to the navigation program, and (iv) output navigationinformation generated by the navigation program from the point ofdeparture to the destination, whereby a telephone caller is able toobtain navigation information from a preselected situs to the situs ofthe location called.
 9. The system for generating travel informationaccording to claim 8, wherein the computer installation is programmed toprovide the address of the computer installation as the point ofdeparture, whereby a telephone caller is able to obtain navigationinformation from the caller's situs to the situs of the location called.10. A system for generating travel directions from a location to alocation of a telephone caller, comprising: (a) a computer installationincluding: (i) means for receiving a telephone call, (ii) meansprogramming the computer installation for detecting calleridentification information electronically associated with a receivedtelephone call including at least one of a telephone number associatedwith the calling telephone and a name associated with the callingtelephone, (iii) telephone directory software, (iv) means programmingthe computer installation for automatically retrieving an addressassociated in the telephone directory software with at least one of thetelephone numbers and name associated with the calling telephone, and(v) navigation software programming the computer installation togenerate travel directions in response to the address automaticallyretrieved and at least one further address input to the computerinstallation.
 11. The system of claim 10, wherein the at least onefurther address is an address associated with the situs of the computerinstallation.
 12. The system of claim 10, further comprising a softwareroutine for choosing the at least one further address.
 13. The system ofclaim 12, wherein the software routine for choosing the at least onefurther address includes program means for choosing the at least onefurther address on the basis of a relationship of available furtheraddresses with the address automatically retrieved.
 14. The system ofclaim 13, wherein the relationship is proximity to the addressautomatically retrieved.
 15. The system of claim 10, further comprisinga multiple delivery routing program, the at least one further addressincluding destination addresses derived from other callers such that adelivery route is assembled from an initial point of origin to a calleraddress and from the caller address to a further caller address.
 16. Thesystem of claim 10, further comprising software programming the computerinstallation to assemble multiple delivery routes from the addresses ofcallers.
 17. A method of generating by computer travel directions from alocation to the location of a telephone caller including: (a) providinga computer installation, (b) receiving a telephone call, (c) detectingcaller identification information electronically associated with areceived telephone call, (d) providing navigation software in thecomputer installation, (e) automatically communicating point of origininformation corresponding to the location of the computer installation,for use by the navigation software programming the computer, (f)automatically communicating destination information corresponding to thelocation of the telephone caller as derived from caller identificationinformation electronically associated with a telephone call from thecaller; and (g) communicating navigation information for navigating fromthe location receiving the caller's call to the location of thetelephone caller as developed by the navigation software.
 18. The methodof claim 17, wherein step (e) comprises, responsive to addressinformation electronically present in the caller identificationinformation, supplying the address information for use by the navigationsoftware.
 19. The method of claim 17, wherein step (e) comprisesproviding a database of address information and locating the address ofthe telephone caller in response to detected caller identificationinformation associated with a received telephone call.
 20. The method ofclaim 19, wherein providing the database of address informationcomprises providing a locally assembled address book database.
 21. Themethod of claim 19, wherein providing the database of addressinformation comprises providing telephone directory software.
 22. Themethod of claim 17, further comprising providing, by a program routineresponsive to the presence of caller identification informationelectronically associated with a received telephone call, the steps oflooking for a caller's address in at least one associated database, andif present, causing retrieval of the caller's address information fromthe associated database for use by the navigation software, anddisplaying an interview screen if a caller's address is not present inthe at least one associated database.
 23. The method of claim 17,wherein providing navigation software comprises providing mappingsoftware responsive to point of origin information and destinationinformation, and further comprising the step of using the mappingsoftware, generating a map from a point of origin represented by thepoint of origin information to a destination represented by thedestination information.
 24. The method of claim 17, wherein providingnavigation software comprises providing textual travel directionproducing software responsive to point of origin information anddestination information, and further comprising the step of using thetextual travel direction producing software, generating textualdirections from a point of origin represented by the point of origininformation to a destination represented by the destination information.25. A method for generating navigation information automatically withrespect to a location to which a telephone call is placed, as adestination, comprising: (a) providing a computer installation connectedto receive a telephone number of a call being placed from the computerinstallation, (b) providing a database of address information associatedwith telephone numbers, (c) providing the computer installation withnavigation software for generating navigation information from a pointof origin to a destination, (d) using the computer installation,performing the steps of: (i) retrieving address information associatedin the database with a telephone number of a telephone to which a callis placed, (ii) providing the retrieved address information as adestination to the navigation program, (iii) providing a point ofdeparture to the navigation program, and (iv) outputting navigationinformation generated by the navigation program for navigating from thepoint of departure to the destination, whereby a telephone caller isable to obtain navigation information from the point of departure to thesitus of the location called.
 26. The method for generating navigationinformation according to claim 25, wherein step (d) (iii) comprisesproviding the address of the computer installation as the point ofdeparture.
 27. A method of generating travel directions from a locationreceiving a telephone call to a location of the telephone caller,comprising: (a) providing a computer installation, (b) receiving atelephone call, (c) detecting caller identification informationelectronically associated with the received telephone call including atleast one of a telephone number associated with the calling telephoneand a name associated with the calling telephone, (d) providingtelephone directory software in the computer installation, (e)automatically retrieving an address associated in the telephonedirectory software with at least one of the telephone numbers and nameassociated with the calling telephone, and (f) generating traveldirections in response to the address automatically retrieved and atleast one further address input to the computer installation.
 28. Themethod of claim 27, wherein the at least one further address of step (f)is an address associated with the situs of the computer installation.29. The method of claim 27, further comprising using a software routine,choosing the at least one further address.
 30. The method of claim 29,wherein choosing the at least one further address includes choosing theat least one further address on the basis of a relationship of availablefurther addresses with the address automatically retrieved.
 31. Themethod of claim 30, wherein the step of choosing on the basis of arelationship comprises choosing the at least one further address on thebasis of proximity to the address automatically retrieved.
 32. Themethod of claim 27, further comprising assembling multiple deliveryroutings.
 33. The method of claim 27, further comprising assemblingmultiple delivery routes from the addresses of callers.
 34. A system forgenerating instructions enabling navigation between an origin of acommunication to the system and a location identified by an addresscorresponding to data, the system comprising: an apparatus adapted toread the data; a first processor electronically communicating with saidapparatus; a first database electronically communicating with said firstprocessor, said first database comprising at least one pairing of dataand corresponding address, said first processor adapted to retrieve theaddress corresponding to the data; a second processor and memoryconstituting a main engine electronically communicating with said firstprocessor, said second processor adapted to receive the addressretrieved from said first database; a second database electronicallycommunicating with said second processor, said second databasecomprising mapping information including the origin and the locationidentified by the address; said main engine comprising programmingadapted to generate the instructions based on said mapping information.35. The system of claim 34, further comprising: a display mediumelectronically communicating with said second processor, said displaymedium adapted to display the instructions.
 36. A method for generatinginstructions enabling navigation between an origin of a communicationand a location identified by an address corresponding to data in thecommunication, the method comprising the steps of: electronicallyreading the data in the communication; electronically retrieving theaddress corresponding to the data; electronically generating theinstructions based on directional information including the origin andthe location identified by the address.
 37. The method of claim 36,further comprising the step of: displaying the instructions. 38.Navigation software including: (a) a program retained in a fixed mediumfor producing navigation assisting output from an input point of originto an input point of destination, (b) means for retaining a fixed pointof origin information in memory, (c) a routine for retrieving the fixedpoint of origin for use in the program, (d) a routine for detecting anincoming information signal from a remote communication, and (e) a pointof destination generating routine responsive to information contained ina detected incoming information signal from a remote communication toestablish a point of destination for use by the program.
 39. Thenavigation software according to claim 38, wherein the program forproducing navigation assisting output further comprises a mappingprogram for producing a visible map from the point of origin to thepoint of destination.
 40. The navigation software according to claim 38,wherein the program for producing navigation assisting output comprisesa program for producing textual directions from the point of origin tothe point of destination.
 41. The navigation software according to claim39, wherein the program for producing navigation assisting outputfurther comprises a program for producing textual directions from thepoint of origin to the point of destination.
 42. The navigation softwareaccording to claim 38, wherein the program includes programming and datafor assembling a route from the point origin to multiple points ofdestination along a route.
 43. The navigation software according toclaim 3 8, wherein the means for retaining a fixed point of origincomprises means for retaining information identifying the location of acomputer installation containing the program.
 44. The navigationsoftware according to claim 38, wherein the routine for detecting anincoming information signal comprises a routine for detecting anincoming telephone call, and the point of destination generating routineis responsive to caller information associated with the incomingtelephone call.
 45. The navigation software according to claim 38,further comprising a database of address information, and wherein thepoint of destination generating routine includes a routine for searchingthe database of address information based upon information contained ina detected incoming information signal.
 46. The navigation softwareaccording to claim 38, wherein the database of address informationcomprises an address book database responsive to address inputsgenerated at a computer running the navigation program to assembleaddresses searchable in response to the information contained in adetected incoming information signal.
 47. A system for generatinginformation automatically with respect to a telephone call comprising:(a) a computer installation connected to receive identifying informationof a call in progress, (b) a database of additional informationassociated with the identifying information and containing theadditional information in association with the identifying information,(c) the computer information including software for retrieving theinformation associated in the database with the identifying informationof a call in progress, (d) the computer installation being programmed tooutput the additional information generated.
 48. The system according toclaim 47, wherein computer installation is programmed to display theadditional information during the course of the telephone call inprogress.
 49. The system according to claim 47, wherein the additionalinformation contains caller profile information relating to the entityfrom whose telephone the call in progress is made.
 50. The systemaccording to claim 47, wherein the additional information containscaller profile information relating to the entity whose telephone isbeing called.
 51. The system according to claim 47, wherein theadditional information is navigational information.
 52. The systemaccording to claim 51, wherein the navigational information isdirectional information between the location of the calling telephoneand the called telephone.
 53. The system according to claim 47, whereinthe situs of the computer installation database is remote from thecalling telephone and the telephone number being called.
 54. The systemaccording to claim 47, wherein the computer installation is programmedto output the additional information to a location of at least one ofthe telephones engaged in the call in progress.